package Q5_03_Flip_Bit_to_Win; public class Tester { public static boolean checkRange(int start, int range) { for (int i = 0; i < range; i++) { int value = start + i; int seqA = QuestionA.longestSequence(value); int seqB = QuestionB.longestSequence(value); int seqC = QuestionC.longestSequence(value); int seqD = QuestionC.longestSequence(value); if (seqA != seqB || seqB != seqC || seqC != seqD) { System.out.println("FAILURE on value " + value); String xs = Integer.toBinaryString(value); System.out.println(xs); System.out.println("A: " + seqA); System.out.println("B: " + seqB); System.out.println("C: " + seqC); System.out.println("D: " + seqD); return false; } } return true; } public static void main(String[] args) { int[][] ranges = {{Integer.MIN_VALUE, 1000}, {Integer.MAX_VALUE - 2333, 5333}, {-10000, 20000}}; for (int[] range : ranges) { if (!checkRange(range[0], range[1])) { System.out.println("ERROR"); } else { int end = range[0] + range[1]; System.out.println("SUCCESS: " + range[0] + " -> " + end); } } } }